#ifndef _DRIVER_MAIN_H_
#define  _DRIVER_MAIN_H_

#include <ntddk.h>
#include <ntstrsafe.h>

extern "C"
NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject, 
					 IN PUNICODE_STRING pRegistryPath);




#define DEVICE_NAME      L"\\Device\\ComFilter101"
#define SYM_DEVICE_NAME  L"\\??\\ComFilter101"


PWCHAR MJ_FUNC_NAME[] = {L"IRP_MJ_CREATE", 
						L"IRP_MJ_CREATE_NAMED_PIPE", 
						L"IRP_MJ_CLOSE",
						L"IRP_MJ_READ",
						L"IRP_MJ_WRITE",
						L"IRP_MJ_QUERY_INFORMATION",
						L"IRP_MJ_SET_INFORMATION",
						L"IRP_MJ_QUERY_EA",
						L"IRP_MJ_SET_EA",
						L"IRP_MJ_FLUSH_BUFFERS",
						L"IRP_MJ_QUERY_VOLUME_INFORMATION",
						L"IRP_MJ_SET_VOLUME_INFORMATION",
						L"IRP_MJ_DIRECTORY_CONTROL",
						L"IRP_MJ_FILE_SYSTEM_CONTROL",
						L"IRP_MJ_DEVICE_CONTROL",
						L"IRP_MJ_INTERNAL_DEVICE_CONTROL",
						L"IRP_MJ_SHUTDOWN",
						L"IRP_MJ_LOCK_CONTROL",
						L"IRP_MJ_CLEANUP",
						L"IRP_MJ_CREATE_MAILSLOT",
						L"IRP_MJ_QUERY_SECURITY",
						L"IRP_MJ_SET_SECURITY",
						L"IRP_MJ_POWER",
						L"IRP_MJ_SYSTEM_CONTROL",
						L"IRP_MJ_DEVICE_CHANGE",
						L"IRP_MJ_QUERY_QUOTA",
						L"IRP_MJ_SET_QUOTA",
						L"IRP_MJ_PNP",
						L"IRP_MJ_PNP_POWER"};


#endif